// pages/home/admin/admin.js
const app = getApp();
let time = require('../../../utils/time.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 文章总数
    total: 0,
    // 小程序总访问量
    visits: 65873,
    // 小程序建立天数
    day: 0,
    commentList: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      skin: app.globalData.skin,
      total: app.globalData.total || 0
    });
    this.getUserInfo();
    this.getCommentList();
    this.countDays();
  },
  getUserInfo(){
    let userInfo = wx.getStorageSync("userInfo");
    this.setData({
      adminRoleFlag: userInfo.adminRoleFlag
    })
  },
  toWrite(){
    wx.navigateTo({
      url: './write/write',
    })
  },
  // 查询所有评论，但页面只展示未审核的评论
  getCommentList(){
    if(app.globalData.commentAllList){
      this.setData({ 
        commentList: app.globalData.commentAllList,
        commentTotal: app.globalData.commentAllTotal
      });
      return;
    }
    wx.cloud.callFunction({
      name: "query",
      data: {
        dbName: "t_comments",
        // 查询条件，评论状态status：0-未审核，1-已审核，2-已删除
        filter: {
          // status: 0
        },
      },
      success: (res) => {
        console.log("查询评论列表回调：", res)
        this.setData({
          commentList: res.result.data,
          commentTotal: res.result.count.total
        });
        app.globalData.commentAllList = res.result.data;
        app.globalData.commentAllTotal = res.result.count.total;
      },
      fail: (error) => {
        wx.showToast({
          title: '查询失败',
          icon: 'none',
          duration: 2000, //单位ms，默认1500
          mask: true
        });
      }
    })
  },
  // 计算小程序建立的天数
  countDays(){
    // 小程序建立时间
    let startTime='2020-09-07'
    // 获取当前时间戳
    var timestamp = Date.parse(new Date());
    let endTime = time.customFormatTime(timestamp,'Y-M-D')

    //日期格式化  2020-09-07 ==》2020/09/07
    var startDate = new Date(startTime.replace(/-/g, "/"));
    var endDate = new Date(endTime.replace(/-/g, "/"));
    // 转成毫秒数后，两个日期相减
    var ms = endDate.getTime() - startDate.getTime();
    // 转换成天数
    var days = parseInt(ms / (1000 * 60 * 60 * 24));
    this.setData({ day: days })
  },
  // 审核
  openUp(e){
    console.log("审核id：",e.currentTarget.dataset.id);
    wx.showLoading({title: '请求中...'});
    wx.cloud.callFunction({
      name: "update",
      data: {
        dbName: "t_comments",
        param: {
          status: 1
        },
        filter:{
          _id: e.currentTarget.dataset.id
        }
      }
    }).then( res => {
      wx.hideLoading();
      console.log("审核成功回调：",res);
      app.globalData.commentAllList = '';
      //刷新评论列表
      this.getCommentList();
      wx.showModal({
        title: '提示',
        content: '审核成功！',
        showCancel: false
      });
    }).catch( err => {
      wx.hideLoading();
      console.log("审核失败回调：",err);
      wx.showToast({
        title: '服务异常',
        icon: 'none',
        duration: 3000, //单位ms，默认1500
        mask: true
      });
    })
    
  },
  // 管理员回复
  toReply(e){
		console.log("管理员回复：",e.currentTarget.dataset)
    this.setData({ 
      showReplyModal: true,
      replyId: e.currentTarget.dataset.id,
      replyNickname: e.currentTarget.dataset.nickname
    });
  },
  inputReplyContent(e){
    console.log("回复内容：",e.detail.value);
    this.setData({
      replyContent: e.detail.value
    })
  },
  // 隐藏回复框，清空回复数据
  hideReplyModal(){
    this.setData({
      showReplyModal: false,
      replyContent: ''
    });
  },
  // 提交回复内容 --》持久化
  commitReplyMessage(){
    if (!this.data.replyContent.replace(/\s+/g, '')) {
      wx.showToast({
        title: '回复内容不能为空！',
        icon: 'none',
        duration: 2000
      })
      return;
    }
    this.setData({showLoading: true});
    let replyId = this.data.replyId;
    wx.cloud.callFunction({
      name: "update",
      data: {
        dbName: "t_comments",
        param: {
          replyMessage: this.data.replyContent
        },
        filter:{
          _id: replyId
        }
      }
    }).then( res => {
      this.setData({showLoading: false});
      console.log("提交回复成功回调：",res);
      this.hideReplyModal();
      app.globalData.commentAllList = '';
      //刷新评论列表
      this.getCommentList();
      wx.showModal({
        title: '提示',
        content: '回复留言成功！',
        showCancel: false
      });
    }).catch( err => {
      this.setData({showLoading: false});
      console.log("提交回复失败回调：",err);
      this.hideReplyModal();
      wx.showToast({
        title: '服务异常',
        icon: 'none',
        duration: 3000, //单位ms，默认1500
        mask: true
      });
    })
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})